package mx.frantor.catalogos.bussines;

import java.util.List;


import mx.frantor.catalogos.dao.MateriaPrimaExistenciasDAO;
import mx.frantor.catalogos.dao.OrdendeCompraMateriaPrimaDAO;
import mx.frantor.catalogos.daoimp.MateriaPrimaExistenciasDAOImpl;
import mx.frantor.catalogos.daoimp.OrdenDeCompraMateriaPrimaDAOImpl;
import mx.frantor.catalogos.entitys.OrdendecompramateriaprimaEntity;

public class OrdendeCompraMateriaPrimaBussines {

	private OrdendeCompraMateriaPrimaDAO ordDAO = new OrdenDeCompraMateriaPrimaDAOImpl();
	String res=null;	
	private MateriaPrimaExistenciasDAO matDAO = new MateriaPrimaExistenciasDAOImpl();

	public String AgregaMCatProd( long cantidad,  long idMateria, long idOrdenDeCompra ){
		OrdendecompramateriaprimaEntity ocmpE = new OrdendecompramateriaprimaEntity();
		
		ocmpE.setCantidad(cantidad);
		ocmpE.setIdMateria(idMateria);
		ocmpE.setIdOrdenDeCompra(idOrdenDeCompra);
		res="";
		ordDAO.agregarOrdenCMP(ocmpE);
		
		return res;
	}
	
	public String ModificarOCMP(long idRelacion, long cantidad, long idMateria, long idOrdenDeCompra){
		OrdendecompramateriaprimaEntity modOCMP = new OrdendecompramateriaprimaEntity();
		
		modOCMP.setIdRelacion(idRelacion);
		modOCMP.setCantidad(cantidad);
		modOCMP.setIdMateria(idMateria);
		modOCMP.setIdOrdenDeCompra(idOrdenDeCompra);
		
		
		res = ordDAO.modificaOrdenCMP(modOCMP);
		
		return res;
	}
	
	public String EliminarOCMP(Long idRelacion){
		res = ordDAO.eliminarOrdenCMP(idRelacion);
		
		return res;
	}
	
	public List<OrdendecompramateriaprimaEntity> getTodosOrdenCMPActivos() {
		List<OrdendecompramateriaprimaEntity> lstOCMPs = ordDAO.getTodosOrdenCMPActivos();
		return lstOCMPs;
	}
	
	public OrdendecompramateriaprimaEntity getOrdenCMPId(Long idOrdenCMP) {
		OrdendecompramateriaprimaEntity ocmpE = ordDAO.getOrdenCMPId(idOrdenCMP);
		return ocmpE;
	}
	public List<OrdendecompramateriaprimaEntity> getOrdenCMPPorId(
			Long idOrdenCMP) {
		List<OrdendecompramateriaprimaEntity> lstOCMPs = ordDAO.getOrdenCMPPorId(idOrdenCMP);
		
		
		for(OrdendecompramateriaprimaEntity oce : lstOCMPs){
			if(oce.getIdMateria()!=0){
			
		oce.setNombremateria(matDAO.getMateriaPrimaExistenciasId(oce.getIdMateria()).getNombre());
		oce.setCosto(matDAO.getMateriaPrimaExistenciasId(oce.getIdMateria()).getCosto().toString());
		
			}
		}
		
		return lstOCMPs;
}

	
}
